package com.njtoyo.taxi.admin.rest.presenter.business.ride.scan_ride;

import com.njtoyo.taxi.admin.library.common.GeoPoint;
import com.njtoyo.taxi.admin.mapper.master.enums.ScanRideOrdePaymentChannel;
import com.njtoyo.taxi.admin.mapper.master.enums.ScanRidePlatform;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class ScanRideListPresenter implements Serializable {

    @ApiModelProperty(value = "扫码订单ID")
    private Long id;

    @ApiModelProperty(value = "乘客Id")
    private Long customerId;

    @ApiModelProperty(value = "乘客姓名")
    private String customerName;

    @ApiModelProperty(value = "乘客手机号")
    private String customerMobileNumber;

    @ApiModelProperty(value = "乘客扫码坐标")
    private GeoPoint destination;

    @ApiModelProperty(value = "司机当前坐标")
    private GeoPoint currentDriverLocate;

    @ApiModelProperty(value = "司机Id")
    private Long driverId;

    @ApiModelProperty(value = "司机姓名")
    private String driverName;

    @ApiModelProperty(value = "司机手机号")
    private String driverMobileNumber;

    @ApiModelProperty(value = "公司Id")
    private Long companyId;

    @ApiModelProperty(value = "公司名")
    private String companyName;

    @ApiModelProperty(value = "车辆Id")
    private Long taxiId;

    @ApiModelProperty(value = "车牌号")
    private String plateNumber;

    @ApiModelProperty(value = "运营区Id")
    private Long cantonId;

    @ApiModelProperty(value = "运营区名称")
    private String cantonName;

    @ApiModelProperty(value = "司机区域Id")
    private Long driverRegionId;

    @ApiModelProperty(value = "司机区域名称")
    private String driverRegionName;

    @ApiModelProperty(value = "扫码时间戳")
    private Integer scanTimestamp;

    @ApiModelProperty(value = "是否抵扣首单立减优惠")
    private Boolean isDiscountable;

    @ApiModelProperty(value = "是否完成行程订单")
    private Boolean isFinished;

    @ApiModelProperty(value = "订单金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "实际支付金额")
    private BigDecimal paymentAmount;

    @ApiModelProperty(value = "抵扣金额")
    private BigDecimal discountAmount;

    @ApiModelProperty(value = "司机所得金额")
    private BigDecimal driverEarnAmount;

    @ApiModelProperty(value = "支付渠道")
    private ScanRideOrdePaymentChannel paymentChannel;

    @ApiModelProperty(value = "是否已支付")
    private Boolean isPaid;

    @ApiModelProperty(value = "支付时间戳")
    private Integer paidTimestamp;

    @ApiModelProperty(value = "来源渠道 ")
    private ScanRidePlatform platform;

    @ApiModelProperty(value = "扫码订单创建时间")
    private Date createdAt;

    @ApiModelProperty(value = "扫码订单修改时间")
    private Date updatedAt;


}
